#include <iostream>
#include <string>
#include <regex>

int main()
{
    std::string str = "/numbers/1234";
    std::regex rgx("/numbers/(\\d+)");// 正则表达式匹配规则
    /*
        /numbers/ -> 以/numbers/为首
        \d -> 表示数字字符
        + -> 表示前面的字符出现一次或多次
        () -> 将匹配得到的字符提取出来 
    */
    std::smatch matches;// 保存结果的容器
    bool ret = std::regex_match(str, matches, rgx);// 匹配以/numbers/为起始子串、后面跟了一个或多个数字字符的字符串，\
        并提取匹配到的字符串保存在matches中
    if(ret == false) return -1;

    for(const auto& s : matches)
    {
        std::cout << s << std::endl;
    }
    /* 结果：
        /numbers/1234
        1234
    */

    return 0;
}